package paquete;

/** Pieza Torre **/
//clase que hereda de pieza e implementa la interfaz movimiento
public class torre extends pieza implements movimiento {

	public torre(char caracter, int posx, int posy, int maxx, int maxy,
			int color, boolean espieza) {
		super(caracter, posx, posy, maxx, maxy, color, espieza);
	}

	// movimientos validos para la torre
	@Override
	public boolean movimientosvalidos(int x1, int y1, int x2, int y2,
			pieza[][] tablero, boolean jaque,int contador,int turno) {
			
		//se verifica las conidiciones establecidas en la clase pieza 
		//de la cual esta heredando torre
		if(!super.movimientosvalidos(x1, y1, x2, y2, tablero, jaque, contador,turno)) return false;
			
		
		if(x1==x2 || y1==y2) {
			  
			int num   = Math.abs(x1-x2+y1-y2);
			int signo = signo(x1,x2,y1,y2,0);
						
			int mx    = 1*signo;
			int my	  = 1*signo;
			
			if(x1!=x2) my = 0;
			else       mx = 0;
			
			for(int i=1; i<=num;i++){
				if(tablero[x1+i*mx][y1+i*my].getespiza()){
					if(i!=num)				    				                  return false;
					else if(i==num && tablero[x1+i*mx][y1+i*my].getcolor()!=turno)return true;
					else														  return false;
				}
				else if(x1+i*mx==x2 && y1+i*my==y2)				    	          return true;			
			}
		}else return false;
		
	
			
		
		return true;
	}

	
}
